{"componentChunkName":"component---src-templates-studio-page-js","path":"/studio/fishes","webpackCompilationHash":"97000b66fda8dd565841","result":{"data":{"site":{"siteMetadata":{"keywords":["blog","ubug","tech blog","技术博客","playground"]}},"mdx":{"fields":{"title":"🐠 小鱼塘","noFooter":false,"description":"一个小鱼儿自由晃荡的海底小世界，喜欢的话可以逗逗它们。你也可以扔个瓶子，捞个瓶子玩。","date":"2021-06-20","author":"Ubug","banner":{"childImageSharp":{"fluid":{"tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='458'%3e%3cpath%20d='M0%20101v77l2-3%203-2-2%203-3%203v62l1%2063c2%200%207%206%208%209%201%207%203%2013%206%2016l11%2015c0%202-2%201-7-3-3-3-6-5-7-4-2%200-8-4-10-9-2-3-2-3-2%2063v67h51c58%200%2052%201%2053-7%201-4%203-3%209%203l4%204h16l17-1h3l6%201h5l-1-3-7-9c-7-8-9-11-9-14s0-3%202-2l3%202%201%201c1-1-2-9-3-11-2-2-10-5-12-5-1%201-3-4-2-5l1%201h1v-1c-1-1-1-2%201-3h1l6%206%209%208c1%203%203%205%204%205l3%205%203%206%202%2011v8h40a603%20603%200%200072-1c-3%202%2016%201%2019%200l1-2h-3l-1-1%205-1%205-2c-1-1-38%201-58%203a139%20139%200%2001-36-1c-3%201-2-3%201-5%201-2%203-3%205-3l8-1%2018-3%2015-1h24a386%20386%200%200075%202c30-3%2039-6%2033-8l-4-1-2-1h-1c0%202%200%202-2%201-1-1-1-1-2%201l-1%201-2%201c-2%205-6%200-6-6%200-3%201-3%204-3%202%200%203-1%203-4%200-4%202-5%203-1s2%203%202-1c0-2%200-4%201-3l1%204v3l3-2%208-8c4-7%205-7%205-5s0%204-2%205c-3%202-8%209-8%2011%200%201%201%202%203%201l4-1%201-2%201%204-1%202h-1l-1%202-1%202%202-1c3-2%203%200%203%2013a1580%201580%200%20000-121c0%202-7-2-13-7-1-1%201-7%204-7%202-1%203-4%201-4l-1%201-1%201-3%202-2%202-1-3-2-3c-2%200-1%203%201%205%201%202%201%202-2%209l-3%207-1%204-1%202v1l-1%202c-1%201-1%200-2-1%200-2-5-4-7-3-2%202%202%206%206%206l2%202h2l1-1c-1-1%205-17%207-19%201-2%201-2%203%201l8%204%205%202v10l-1%2010v1l1%204-1%203-1%202-2%202-3%201c0%202-4-2-4-5-1-3-2-4-2%200l-1%206%201%202c3%200%205%203%203%204-3%201-2%206%200%209%203%203%205%202%204-3v-3l1%203c1%204%200%209-1%207-2-1-3-1-3%201l-3%201c-1-1-2%203-1%205v1l-1%201v4c-1%202-2%204-1%205h-1v1l-1%202-1-10c0-5%200-8-1-7l-2%201v-5l1-1-1-2v-13c0-2-2-3-5-1-3%201-4-5-2-12l1-4%205%203c6%203%208%202%208-3%201-4%201-5-1-1-1%202-2%203-4%203-1%200-2%200-1-1l-1-3c-1-2-3-3-3-2l-3-2c-1-1-1-1-1%203s-2%209-3%209l-1%203c0%206-2%207-3%202l-3-5c-2-1-2-2-2-4v-4l-1%202c0%203-1%203-6%201l-4-4c0-2%200-3-4-4-6-2-6-4-2-16l3-11c0-4%208-34%209-32h7c1%202%206%205%209%205v-1c-2-2-3-12-2-12v-1c-1-2-5-3-7-1l-3%201-3%201%202-7%203-7v-1c-2-2-3-9-2-11%201-1%203%200%207%202%205%202%207%202%207-1v-2l2%202%204%202%202%201c0%202%202%201%203-1v-5c1-5%200-8-1-6-2%203-10%205-11%203v1l-1%204h-3c0-1-3-5-5-5l-2-2%201-1c2%200%204-2%205-6l2-4%202-6c3-9%204-12%204-7-1%205%200%204%202%200%200-2%200-3-2-4l-1-6%202-8c1-9%204-11%2010-8%204%201%204%200%201-5-1-2-3-3-5-3l-3-2c0-2-9%200-11%202s-7%203-5%201l2-1%203-1%202-2c2%200%202%200%201-1-2-1-10%201-9%202l-3%201-7%202c-4%204-7%203-3%200l3-2h-3c-3%200-3%200-1-1%202%200%203-3%201-3-5%200-1-2%204-2%206-1%207-3%202-3-3%200-4-1-2-2%201-1-1-1-4-1l-7-3c-2-2-2-2-5%200l-4%202c-3%200-8%202-8%204%200%201-6%205-7%204l-1%201c1%201%200%201-1%201l-3%201-2%201-2%202v2c-2%200-6%205-6%207l-2%201c-3%200-4%201-2%202s1%201-4%201c-2%200-4%201-5%203l-3%201-1%201c2%202-1%202-4%200l-3-3c0-1%200-2%201-1l1-1c-1-2-3-2-3%200l-2%202-3-1-2-2-3-1-2-1-3-2-3-2-2-1h-3l-2-1c-1%200-2%200-1-1l-2-3c-3-3-4-4-4-2h-3c-2%200-2-1-1-3%200-2%200-2-2-2l-5%202-6%201c-1%201-1%201-1-1%200-4-1-4-2-4l-2-1%201-1%204-1c1-1%201-1-1-1l-3-2-1-1-3-7c-3-9-4-12-16-29-10-15-13-21-17-29-3-7-13-16-19-19l-8-4-11-2c-7-1-9-2-15-8-6-5-8-6-14-7a42%2042%200%2001-15-5l-4-2c-2-2-3-2-3-1-1%201%200%202%201%202l2%201v2l-7%203c-2-2-1-4%201-5l1-1-7-4-8-6c-2%200-5-1-7-3l-6-2c-3%200-3%200-1%201%202%200%202%201%202%204s-1%204-4%203l-3-1-2-2c1-1%200-2-1-2l-2-3c0-2-4-6-6-6l-3-1-3-1c-7%201-35-5-43-8l-3-1v77m388-26h-9c-9%200-10%201-4%203%2010%203%2022%202%2022-2%200-2-8-3-9-1M243%20213c-3%202-3%207%200%209l51%201h50l1-2c3-3%202-5%200-8l-3-2h-48c-42%200-49%200-51%202m155%2075c-1%202-10%204-14%203-3%200-2%202%200%202%202%201%205%208%204%2011-1%201%200%201%201%201%202%200%203-1%203-2l4-4c3-1%204-1%204-7s0-7-2-4m-44%2023l-3%204c1%200%2014%202%2015%201l1%202v3c2%200%202-6%200-8s-2-2-3%200c-2%201-2%201-2-1%200-6-4-6-8-1m-52%2014c-7%206-8%208-8%2020v11l-27%201-29%201c-5%204%201%209%2011%2011l11%203c7%202%2015%203%2016%202h1l3-2c2-1%202-1%203%201%200%202%202%203%202%201l3-2c3-1%207%201%207%202h1l2%201%201%201c3-2%209-3%2013-4h5l-5%203c-10%205-14%209-14%2014v5h10l10-1%208-1c10%200%2019-2%2019-5l-2-3c-3%200-2-1%202-3%206-3%204-9-2-9h-3l2-4c1-3%207-8%209-8l1%203v3l1%202%202%202-1-11c-1-2-5-3-5-2%200%202-2%201-4-1v-3l1-3c0-4-1-5-4-7l-3-1h-1v-1l-2-3c-2-1-3-1-2%201l-1%202c-2%200-2%201-2%202%201%201%200%202-1%202s-3%201-4%204c0%202-2%204-3%204l-1%204c0%203%200%203-3%203l-8-2c-7-1-7-2%200-2%208%200%2011-1%209-3v-1c2%200%202-9%201-10v-4l-2-6c-3-7-3-7%202-4%203%202%204%202%203%200%200-2-9-6-15-7-2%200-4%200-7%204m-215%201c-8%205-10%207-5%207l5-2h3s1%202%203%202l5%2010c3%2010%204%2012%202%2014v3c1%202%200%202-2%201-2%200-2-4%200-5%201%200%202-4%200-4-3%200-4%2014%200%2019%202%203%203%203%203-2-1-4-1-4%201-4l4%201%202%202%202%204%204%205%202%202-2-6-2-5-3-3-3-2c0-2-1-3-2-3l-1-12c-1-10-3-22-5-25-2-2-3-1-11%203m-64%2024l3%204%202%204c0%203%204%205%209%203l2-1-3-3-4-5c-1-2-9-3-9-2m376%2026l-1%202v5l-2%206-3%205-3%207-3%207-1%204v3l1-3%204-5a234%20234%200%20007-8c2-1%202-3%202-13%200-11%200-12-1-10m-50%2019l-11%206-7%204-3%202c-3%203%206%202%2010-1%201-2%206-4%209-6%2011-6%2012-10%202-5m-88-1c-5%200-5%200-5%203%201%203%203%204%205%204v1l-8-1c-13-3-43%200-40%204%202%204%2028%207%2058%206%2018%200%2022-2%205-2l-30-2%203-1%207-2%208-1h3l20%204h3l1%201%2011%201%201-1%202-2c0-2%206-3%207%200%200%201%203%201%2012-1%2011-3%2017-7%2013-9s-14-2-16-1l-5%202-22-1-8%201h-7l-3-1h4l7-2h-26m-138%2016l3%206%205%209%205%2012%205%208%202%203-3-8-3-7c0-1%208%208%209%2011l1%203%201-4-1-4c-3-1-10-10-10-13l-2-4c-4-2-7-7-5-6%203%201%202-1-1-5-4-4-6-5-6-1m203%202c1%201-4%204-5%203l-1%201-1%201c-1-1-8%201-8%202l-5%201-13%201-10-1c-4-2-7-2-16-1l-15%201c-10-1-3%205%2010%208l14%202%2012%202c5%201%2010%200%205-2-4-1-3-3%203-3%2022-3%2033-6%2037-11%204-4%204-5-2-5l-5%201'%20fill='%23573ede'%20fill-rule='evenodd'/%3e%3c/svg%3e","aspectRatio":0.8738019169329073,"src":"/static/b6d0cfc01ff441fb730c815153ed2fd1/fbb15/fishes.png","srcSet":"/static/b6d0cfc01ff441fb730c815153ed2fd1/82675/fishes.png 500w,\n/static/b6d0cfc01ff441fb730c815153ed2fd1/fef60/fishes.png 1000w,\n/static/b6d0cfc01ff441fb730c815153ed2fd1/fbb15/fishes.png 1094w","srcWebp":"/static/b6d0cfc01ff441fb730c815153ed2fd1/f71dc/fishes.webp","srcSetWebp":"/static/b6d0cfc01ff441fb730c815153ed2fd1/7fe04/fishes.webp 500w,\n/static/b6d0cfc01ff441fb730c815153ed2fd1/d619e/fishes.webp 1000w,\n/static/b6d0cfc01ff441fb730c815153ed2fd1/f71dc/fishes.webp 1094w","sizes":"(max-width: 1094px) 100vw, 1094px"}}},"noGlobalStyles":false,"bannerCredit":null,"slug":"/studio/fishes","tags":["talking"]},"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"fishes\",\n  \"title\": \"🐠 小鱼塘\",\n  \"tech\": \"other\",\n  \"date\": \"2021-06-20 16:34:10\",\n  \"description\": \"一个小鱼儿自由晃荡的海底小世界，喜欢的话可以逗逗它们。你也可以扔个瓶子，捞个瓶子玩。\",\n  \"titleColor\": \"#063362\",\n  \"btnStyle\": \"lightYellow\",\n  \"tags\": [\"talking\"],\n  \"banner\": \"../studios/fishes.png\"\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"\\u9884\\u89C8\\u53EF\\u4EE5\\u5230 \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://app.ubug.io/fishtank/#0\"\n  }, \"\\u9C7C\\u5858\")));\n}\n;\nMDXContent.isMDXComponent = true;"}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"74e5981d-4f6d-538b-afec-29538ee8099f","prev":{"fileAbsolutePath":"E:/u-codes/storybok/content/studio/novus/index.md","id":"032318b6-b979-5bfd-b898-0dc10c4de243","parent":{"name":"index","sourceInstanceName":"studio"},"excerpt":"相关文章： 📦 实现一个简单朴素的 react 数据管理层 NOVUS ， 📦 改进一个简单朴素的 react 数据管理层 NOVUS 较大型应用： 🌋 WebIDE 的开发记录其一（前言和概览） 集中管理数据状态模型，并且享受 TypeScript 的便利，从明天起，做一个幸福的人，不去关心同步异步、不去关心一个逻辑写多处、不去关心复杂的心智模型、不去关心不可推断的运行时错误。从今以后简单点，只关心数据和变更，只使用代码提示，就此一生，完成项目。 点击按钮尝试 demo…","fields":{"title":"💾 数据管理层 NOVUS","slug":"/studio/novus","description":"React、TypeScript 友好、不需要模板代码、集中式的数据模型、心智简单、足够使用。","date":"2021-09-07","redirects":null,"datetime":"2021-09-07 22:50:20","categories":[],"series":null,"tags":["novus","model"],"status":"online"},"frontmatter":{"published":null,"tags":["novus","model"],"theme":null,"slug":"novus","date":"2021-09-07 22:50:20"},"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"novus\",\n  \"title\": \"💾 数据管理层 NOVUS\",\n  \"tech\": \"javascript\",\n  \"date\": \"2021-09-07 22:50:20\",\n  \"description\": \"React、TypeScript 友好、不需要模板代码、集中式的数据模型、心智简单、足够使用。\",\n  \"titleColor\": \"#dcdcdc\",\n  \"btnStyle\": \"darkBlue\",\n  \"contentPadding\": \"3% 10% 0\",\n  \"tags\": [\"novus\", \"model\"],\n  \"banner\": \"../studios/novus.png\"\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst CodeWithPreview = makeShortcode(\"CodeWithPreview\");\nconst SourceCodeLink = makeShortcode(\"SourceCodeLink\");\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"hr\", null), mdx(\"p\", null, \"\\u76F8\\u5173\\u6587\\u7AE0\\uFF1A\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/blog/novus\"\n  }, \"\\uD83D\\uDCE6 \\u5B9E\\u73B0\\u4E00\\u4E2A\\u7B80\\u5355\\u6734\\u7D20\\u7684 react \\u6570\\u636E\\u7BA1\\u7406\\u5C42 NOVUS\"), \"\\uFF0C\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/blog/novus-2\"\n  }, \"\\uD83D\\uDCE6 \\u6539\\u8FDB\\u4E00\\u4E2A\\u7B80\\u5355\\u6734\\u7D20\\u7684 react \\u6570\\u636E\\u7BA1\\u7406\\u5C42 NOVUS\")), mdx(\"p\", null, \"\\u8F83\\u5927\\u578B\\u5E94\\u7528\\uFF1A\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/blog/workpad-part-1\"\n  }, \"\\uD83C\\uDF0B WebIDE \\u7684\\u5F00\\u53D1\\u8BB0\\u5F55\\u5176\\u4E00\\uFF08\\u524D\\u8A00\\u548C\\u6982\\u89C8\\uFF09\")), mdx(\"hr\", null), mdx(\"p\", null, \"\\u96C6\\u4E2D\\u7BA1\\u7406\\u6570\\u636E\\u72B6\\u6001\\u6A21\\u578B\\uFF0C\\u5E76\\u4E14\\u4EAB\\u53D7 TypeScript \\u7684\\u4FBF\\u5229\\uFF0C\\u4ECE\\u660E\\u5929\\u8D77\\uFF0C\\u505A\\u4E00\\u4E2A\\u5E78\\u798F\\u7684\\u4EBA\\uFF0C\\u4E0D\\u53BB\\u5173\\u5FC3\\u540C\\u6B65\\u5F02\\u6B65\\u3001\\u4E0D\\u53BB\\u5173\\u5FC3\\u4E00\\u4E2A\\u903B\\u8F91\\u5199\\u591A\\u5904\\u3001\\u4E0D\\u53BB\\u5173\\u5FC3\\u590D\\u6742\\u7684\\u5FC3\\u667A\\u6A21\\u578B\\u3001\\u4E0D\\u53BB\\u5173\\u5FC3\\u4E0D\\u53EF\\u63A8\\u65AD\\u7684\\u8FD0\\u884C\\u65F6\\u9519\\u8BEF\\u3002\\u4ECE\\u4ECA\\u4EE5\\u540E\\u7B80\\u5355\\u70B9\\uFF0C\\u53EA\\u5173\\u5FC3\\u6570\\u636E\\u548C\\u53D8\\u66F4\\uFF0C\\u53EA\\u4F7F\\u7528\\u4EE3\\u7801\\u63D0\\u793A\\uFF0C\\u5C31\\u6B64\\u4E00\\u751F\\uFF0C\\u5B8C\\u6210\\u9879\\u76EE\\u3002\"), mdx(\"p\", null, \"\\u70B9\\u51FB\\u6309\\u94AE\\u5C1D\\u8BD5 demo\\uFF1A\"), mdx(CodeWithPreview, {\n    withTitle: true,\n    preview: mdx(ExampleTodoExample, {\n      mdxType: \"ExampleTodoExample\"\n    }),\n    mdxType: \"CodeWithPreview\"\n  }), mdx(\"h2\", null, \"\\u4EE3\\u7801\"), mdx(SourceCodeLink, {\n    url: \"https://cnb.cool/ubug/novus/novus\",\n    name: \"NOVUS\",\n    desc: \"\\uD83D\\uDCE6 \\u5B9E\\u73B0\\u4E00\\u4E2A\\u7B80\\u5355\\u6734\\u7D20\\u7684 react \\u6570\\u636E\\u7BA1\\u7406\\u5C42\",\n    mdxType: \"SourceCodeLink\"\n  }), mdx(\"hr\", null), mdx(\"p\", null, \"\\u4F7F\\u7528\\u8303\\u4F8B\\uFF1A\"), mdx(CodeWithPreview, {\n    column: true,\n    titleBar: \"novus.tsx\",\n    codes: [{\n      name: \"example1.ts\",\n      code: novus_studio_novusCodeStr\n    }, {\n      name: \"example2.ts\",\n      code: novus_studio_novusCodeStr1\n    }, {\n      name: \"example3.ts\",\n      code: novus_studio_novusCodeStr2\n    }],\n    withTitle: true,\n    mdxType: \"CodeWithPreview\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;"},"next":{"fileAbsolutePath":"E:/u-codes/storybok/content/studio/common/cyberpunk.md","id":"d465b387-4bcd-5df1-aae5-890c4a272b9c","parent":{"name":"cyberpunk","sourceInstanceName":"studio"},"excerpt":"预览可以到  Cyberpunk UI","fields":{"title":"👓 Cyberpunk UI","slug":"/studio/cyberpunk","description":"赛博朋克的 UI 样式，前端实现的一些界面元素","date":"2021-06-03","redirects":null,"datetime":"2021-06-03 16:34:10","categories":[],"series":null,"tags":["talking"],"status":"online"},"frontmatter":{"published":null,"tags":["talking"],"theme":null,"slug":"cyberpunk","date":"2021-06-03 16:34:10"},"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"cyberpunk\",\n  \"title\": \"👓 Cyberpunk UI\",\n  \"tech\": \"other\",\n  \"date\": \"2021-06-03 16:34:10\",\n  \"description\": \"赛博朋克的 UI 样式，前端实现的一些界面元素\",\n  \"titleColor\": \"#fff\",\n  \"btnStyle\": \"lightYellow\",\n  \"tags\": [\"talking\"],\n  \"banner\": \"../studios/cyberpunk.png\"\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"\\u9884\\u89C8\\u53EF\\u4EE5\\u5230 \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://app.ubug.io/cyberpunk\"\n  }, \"Cyberpunk UI\")));\n}\n;\nMDXContent.isMDXComponent = true;"}}}}